package com.ruoyi.manage.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * 捐赠物品对象 tb_donation
 * 
 * @author zzg
 * @date 2025-03-21
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Donation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 捐赠记录ID */
    private Long id;

    /** 单号 */
    @Excel(name = "单号")
    private String oddNumber;

    /** 小屋id */
    @Excel(name = "小屋id")
    private Long lovehouseId;

    /** 捐赠人ID（外键关联tb_user.id） */
    @Excel(name = "捐赠人ID", readConverterExp = "外=键关联tb_user.id")
    private Long donorId;

    /** 取件人ID（外键关联tb_user.id） */
    private Long receiverId;

    /** 物品种类ID（外键关联tb_donation_type.id） */
    @Excel(name = "物品种类ID", readConverterExp = "外=键关联tb_donation_type.id")
    private Long categoryId;

    /** 物品图片（多个URL用逗号分隔） */
    @Excel(name = "物品图片", readConverterExp = "多=个URL用逗号分隔")
    private String images;

    /** 状态（0-待审核 1-拒收 2-待入库 3-已入库 4-出库成功 5-特殊处理） */
    @Excel(name = "状态", readConverterExp = "0=-待审核,1=-拒收,2=-待入库,3=-已入库,4=-出库成功,5=-特殊处理")
    private Integer status;

    /** 物品描述 */
    private String description;

    /** 取消原因 */
    private String cancelReason;

    /** 入库时间 */
    private Date storageTime;

}
